home *** CD-ROM | disk | FTP | other *** search
/ UpTime Volume 1 #4 / utv1n4s1.d64 / water bomb (.txt) < prev    next >
Commodore BASIC  |  2022-08-28  |  4KB  |  149 lines

  1. 10 rem title:       waterbomb
  2. 20 rem author:      george trepal
  3. 30 rem modified by: doug smoak
  4. 40 :
  5. 50 rem published by softdisk publishing inc.
  6. 60 :
  7. 80 if b=1 then 170
  8. 90 :
  9. 100 poke53280,0:poke53281,0: printchr$(142)chr$(8)
  10. 110 j=rnd(-ti)
  11. 120 print"[147]              water bomb"
  12. 130 print"           by george trepal"
  13. 140 print" wait about fifty seconds. the computer"
  14. 150 print"   is loading words into its memory."
  15. 160 ifb=0thenb=1:load"com data",8,1
  16. 170 poke56,32:poke52,32
  17. 180 gosub190:goto240
  18. 190 tm$="[175][175][175][175][175][175][175]":bm$="[183][183][183][183][183][183][183]"
  19. 200 mm$="[170]       [180]   missed":return
  20. 210 :
  21. 220 tm$="[175][175][175][175][175]":bm$="[183][183][183][183][183]"
  22. 230 mm$="[170]     [180]     missed":return
  23. 240 ov$=""
  24. 250 vl=54296:wf=54276:hf=54273:lf=54272:ad=54277:sr=54278:pokevl,15
  25. 260 d$=""
  26. 270 ws$(0)="[169][169][169][169][169][169][169][169][169][146]":ws$(2)="[223][223][223][223][223][223][223][223][223][146]"
  27. 280 ws$(3)="[169][223][169][223][169][223][169][223][169][146]":ws$(1)="[223][169][223][169][223][169][223][169][223][146]"
  28. 290 br$="         [146]"
  29. 300 :
  30. 310 br$(1)="                  [146]"
  31. 320 a$(0)="    [146][184]    [146]"
  32. 330 a$(1)="   [146][184][184]    [146]"
  33. 340 a$(2)="  [182][146][183][184][183]   [146]"
  34. 350 a$(3)="  [146][183][184][184][183]   [146]"
  35. 360 a$(4)=" [182][162][185][175][185][162]  [146]"
  36. 370 a$(5)=" [162][185][175] [175][185][162] [146]"
  37. 380 a$(6)="[183][184][185][175] [175][185][146][184][183]"
  38. 390 :
  39. 400 b$(0)="[165][206][163][205] [206][163][205][167]"
  40. 410 e$(0)="[165] [172][160] [160][172] [167]"
  41. 420 n$(0)="[165][178]  [209]  [178][167]"
  42. 430 m$(0)="[165][202][192][195][195][195][192][203][167]"
  43. 440 b$(1)="[165][206][163][163] [163][163][205][167]"
  44. 450 e$(1)="[165] [188]   [188] [167]"
  45. 460 n$(1)=n$(0)
  46. 470 m$(1)=m$(0)
  47. 480 b$(2)="[165][183][183][205] [206][183][183][167]"
  48. 490 e$(2)=e$(1)
  49. 500 n$(2)="[165]   [209]   [167]"
  50. 510 m$(2)=m$(0)
  51. 520 b$(3)=b$(1)
  52. 530 e$(3)="[165] [190][160]  [190] [167]"
  53. 540 n$(3)=n$(2)
  54. 550 m$(3)="[165][192][195][195][195][192][192][192][167]"
  55. 560 b$(4)=b$(1)
  56. 570 e$(4)=e$(3)
  57. 580 n$(4)=n$(2)
  58. 590 m$(4)="[165][213][195][195][195][195][195][201][167]"
  59. 600 b$(5)="[165] [206][163] [163][205] [167]"
  60. 610 e$(5)="[165] [180][190] [188][170] [167]"
  61. 620 n$(5)=n$(2)
  62. 630 m$(5)="[165] [213][195][195][195][201] [167]"
  63. 640 b$(6)=b$(5)
  64. 650 e$(6)="[165] [180]> <[170] [167]"
  65. 660 n$(6)=n$(2)
  66. 670 m$(6)="[165]  [195][195][195]  [167]"
  67. 680 t$="[206][163][163][163][163][163][163][163][205]"
  68. 690 c$="[205][164][164][164][164][164][164][164][206]"
  69. 700 poke53280,5:poke53281,5
  70. 710 print"[147]       select  your  skill  level"
  71. 720 print"level 1: words longer than six letters  and seven wrong guesses"
  72. 730 print"level 2: words of any length and seven  wrong guesses"
  73. 740 print"level 3: words of any length and five   wrong guesses"
  74. 750 print"   press the 1, 2, or 3 key to select"
  75. 760 geti$:ifi$=""then760
  76. 770 ifval(i$)<1orval(i$)>3then760
  77. 780 pl=val(i$):ifpl=3thengosub220
  78. 790 poke53280,5:poke53281,15:ifpl<>3thengosub190
  79. 800 print"[147]"+d$+"                  [146]"
  80. 810 print"   [146][169]         [223]    [146]":print"  [146][169]           [223]   [146]"
  81. 820 print" [146][169]             [223]  [146]":print"[169]               [223] [146]"
  82. 830 ps$=" [146]"
  83. 840 forj=1to11:printps$:next:printps$;
  84. 850 print""+ov$+tm$:printmm$:printov$+bm$
  85. 860 printd$+ov$+"mystery word"
  86. 870 print"   guess the mystery word or get wet!"
  87. 880 gosub890:fl=1:goto960
  88. 890 print"[144]"+d$+d$+t$:printb$(n):printe$(n):printn$(n):printm$(n):printc$
  89. 900 ifpl=3andfl=1thenprint""+d$+a$(n+2):goto920
  90. 910 iffl=1thenprint""+d$+a$(n)
  91. 920 ifmf=0thenreturn
  92. 930 pokewf,17:pokead,20:pokesr,0:pokelf,75:forj=20to240step4:pokehf,j
  93. 940 next:pokewf,0
  94. 950 mf=0:return
  95. 960 print"":forj=1to6:printbr$(1):next
  96. 970 gosub1410
  97. 980 ifpl=1andlen(w$)<7then970
  98. 990 print""+d$+d$+ov$;:bl$="":forj=1tolen(w$):bl$="-"+bl$:next:printbl$:n=-1
  99. 1000 ct=ct+1:ifct/15=int(ct/15)thenws=ws+1:print""+ws$(wsand3)
  100. 1010 geta$:on-(a$="")goto1000:ifasc(a$)<65orasc(a$)>90then1000
  101. 1020 :
  102. 1030 rem compare input to word
  103. 1040 ft=0:forj=1tolen(w$):md$=mid$(w$,j,1):bs$=mid$(bl$,j,1)
  104. 1050 ifmd$=a$thenbs$=a$:ft=1:rem sound routine
  105. 1060 tp$=tp$+bs$:next
  106. 1070 bl$=tp$:tp$="":print""+d$+d$+ov$+bl$
  107. 1080 :
  108. 1090 ifft=0thenn=n+1:mf=1:gosub890:ml$=ml$+a$:print""+ov$+ml$
  109. 1100 ifn=6thenml$="":goto1150
  110. 1110 ifpl=3andn=4thenml$="":goto1150
  111. 1120 ifbl$=w$then1290
  112. 1130 poke198,0
  113. 1140 goto1010
  114. 1150 print"[144]"+d$+d$+ov$+w$
  115. 1160 ds$="         ":fs$="":fb$=""
  116. 1170 :
  117. 1180 pokewf,129:pokead,255:pokesr,255:pokehf,72:pokelf,169:pokevl,8
  118. 1190 :
  119. 1200 rem waterfall
  120. 1210 zz=fre(1)
  121. 1220 forj=1to16:fs$=fs$+"":printfs$+ds$:fb$=fb$+"":printfb$+br$:next
  122. 1230 printbr$+"[146]";:forj=1to6:fs$=fs$+"":printfs$+ds$:next:printds$;
  123. 1240 fs$="":fb$=""
  124. 1250 ford=1to70:next
  125. 1260 forj=15to0step-1:pokevl,j:pokewf,129:pokead,15:pokehf,40:pokelf,200:next
  126. 1270 pokewf,0:pokevl,15
  127. 1280 fl=0:n=0:goto1320
  128. 1290 :
  129. 1300 ml$=""
  130. 1310 n=0:fl=0
  131. 1320 print"[144]"+d$+d$+ov$+"press f7 for a"
  132. 1330 printov$+"new word or press"
  133. 1340 printov$+"f1 for a new level"
  134. 1345 printov$+"f8 for uptime";
  135. 1350 get a$:if a$="" then 1350
  136. 1355 if a$="[133]" then gosub 1380:goto 710
  137. 1360 if a$="[136]" then gosub 1380:goto 800
  138. 1365 if a$="[140]" then sys (8*4096)+4
  139. 1370 goto1350
  140. 1380 print""+d$+d$+ov$+"              "
  141. 1390 printov$+"                 "
  142. 1400 printov$+"                  ";:return
  143. 1410 rem
  144. 1420 w$="":m=int(8196+rnd(1)*19180)
  145. 1430 m=m+1:ifpeek(m)<128then:goto1430
  146. 1440 m=m+1:a=peek(m)
  147. 1450 ifa>128thena=a-128:w$=w$+chr$(a):return
  148. 1460 w$=w$+chr$(a):goto1440
  149.